The present disclosure relates to solid-state memory, such as flash memory, and in particular to adjusting read levels used to read data stored in solid-state memory. As flash memory ages or data retention times increase, the program level distributions of the flash memory cells tend to spread and shift resulting in increased read error rates. Adjusting read levels as flash memory ages or as data retention times increase can reduce the read error rates. However, many read level adjustment algorithms are not efficient at determining when to make adjustments or how the adjustments are made.